import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User：Lenovo
 * Date:2024-11-07
 * Time:19:34
 */
//实现大小写的转换
//public class test11_7 {
//        public static void main(String[] args) {
//            Scanner sc = new Scanner(System.in);
//            while(true) {
//                String str = sc.next();
//                //利用toCharArray将字符串转变为字符数组，并附给arr字符数组
//                char[] arr = str.toCharArray();
//                for (int i = 0; i < arr.length; i++) {
//                    //将arr字符数组中的字符进行遍历
//                    char s = arr[i];
//                    if ((int) s == 48)
//                        return;
//                    else {
//                        //调用change方法进行字符大小写的转化
//                        System.out.print(change(s));
//                    }
//                }
//                System.out.println();
//            }
//        }
//        //定义change方法将大写字母转为小写字母，将小写字母转化为大写字母
//        public static char change(char c) {
//            int sum = c;
//            if (sum >= 65 && sum <= 90) {
//                sum += 32;
//            } else if (sum >= 97 && sum <= 122) {
//                sum -= 32;
//            }
//            return (char) sum;
//        }
//    }
//public class test11_7 {
//    public static void main(String[] args) {
//        Scanner scanner=new Scanner(System.in);
//        System.out.println("请输入字符串：");
//        String ret=scanner.next();
//        char[] arrays=ret.toCharArray();
//        for(int i=0;i<arrays.length;i++){
//            char c1=arrays[i];
//            if(c1>=97&&c1<=122){
//                char c2=(char)(c1-32);
//                System.out.println(c2);
//            }
//            else if(c1>=65&&c1<=90) {
//                char c2 = (char) (c1 + 32);
//                    System.out.println(c2);
//            }
//            else{
//                System.out.println("eeor");
//            }
//        }
//    }
//}
//public class test11_7 {
//    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        while (in.hasNextLine()) {
//            String line = in.nextLine();
//            if (Character.isLowerCase(line.charAt(0))) {
//                //if (line.charAt(0) >= 97 && line.charAt(0) <= 122){
//                char c = (char) (line.charAt(0) - 32);
//                System.out.println(c);
//            } else {
//                char c = (char) (line.charAt(0) + 32);
//                System.out.println(c);
//            }
//        }
//    }
//}
//public class test11_7{
// public static void main(String[] args) {
//         Scanner in = new Scanner(System.in);
//         int ret = fib(in.nextInt());
//        System.out.println(ret);
//        }
// public static int fib(int i) {
//         int arr[] = new int[i+1];
//        //这⾥让的返回值为了⽅便理解，我们数组的0下标并不做任何有意义的计算（相当于舍弃
//        //），⽅便后续返回结果的时候直接返回i下标的值即可。
//        arr[0] = 0;
//        arr[1] = 1;
//         arr[2] = 1;
//         for (int j = 3; j <= i; j++) {arr[j] = arr[j - 1] + arr[j - 2];
//             }
//         return arr[i];
//        }
//
//
//        }
import java.util.Scanner;

//public class test11_7 {
// public static void main(String[] args) {
//       Scanner in = new Scanner(System.in);
//        // 注意 hasNext 和 hasNextLine 的区别
//         while (in.hasNextLine()) { // 注意 while 处理多个 case
//            String str1 = in.nextLine();
//           String str2 = in.nextLine();
//           System.out.println(func(str1,str2));
//            }
//       }
//
//        private static String func(String str1, String str2) {
//         StringBuilder stringBuilder = new StringBuilder();
//        for (int i = 0; i < str1.length(); i++) {
//            char c = str1.charAt(i);
//             boolean flag = true;
//             if (c != ' '){
//                for (int j = 0; j < str2.length(); j++) {
//                   if (c == str2.charAt(j)){
//                        flag = false;
//                         break;
//                         }
//                    }
//                 }
//            if (flag == true){
//                 stringBuilder.append(c);
//                 }
//             }
//         return String.valueOf(stringBuilder);
//         }
//}
//public class test11_7 {
// public static void main(String[] args) {
//         Scanner in = new Scanner(System.in);
//         // 注意 hasNext 和 hasNextLine 的区别
//         while (in.hasNextLine()) { // 注意 while 处理多个 case
//            String str1 = in.nextLine();
//             String str2 = in.nextLine();
//             String ret = func(str1,str2);
//             System.out.println(ret);
//             }
//         }
//public static String func(String str1,String str2) {
//         StringBuilder sb = new StringBuilder();
//        for(int i = 0;i < str1.length();i++) {
//             char ch = str1.charAt(i);
//            if(!str2.contains(ch+"")) {
//                sb.append(ch);
//                 }
//             }
//        return sb.toString();
//         }
// }
 import java.util.Scanner;
         // 注意类名必须为 Main, 不要有任何 package xxx 信息
         public class test11_7{

         public static void main(String[] args) {
         Scanner in = new Scanner(System.in);
         // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            String a = in.next();//
             String b = in.next();
             System.out.println(add(a, b));
             }
        }
 public static String add(String a, String b) {
         StringBuilder sb = new StringBuilder();
         int lenA = a.length();
         int lenB = b.length();
        int max = Math.max(lenA, lenB);
         StringBuilder stringBuilderA = new StringBuilder(a).reverse();
         StringBuilder stringBuilderB = new StringBuilder(b).reverse();
        // 0110 1111

       boolean isCarry = false;
         for (int i = 0; i < max; i++) {
             //这⾥没定义谁最⼤，可能字符串A先⾛完,也可能字符串B先⾛完
             //只需要补0就⾏
             char aChar = i >= lenA ? '0' : stringBuilderA.charAt(i);
             char bChar = i >= lenB ? '0' : stringBuilderB.charAt(i);
             if (aChar == '1' && bChar == '1') {
                 sb.append(isCarry ? '1' : '0');
                isCarry = true;
               } else if (aChar == '0' && bChar == '0') {
                 sb.append(isCarry ? '1' : '0');
               isCarry = false;
                } else {
                 sb.append(isCarry ? '0' : '1');
                 }
            }
        if (isCarry) sb.append("1");
         return sb.reverse().toString();
         }
}